package com.telkomsigma.spring.hibernate.persistence.dao;

import java.util.List;
import java.util.Map;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.orm.jpa.support.JpaDaoSupport;
import org.springframework.stereotype.Repository;

import com.telkomsigma.spring.hibernate.common.CoreDao;
import com.telkomsigma.spring.hibernate.persistence.domain.TeamCapt;
;

@Repository
public interface CaptainDao extends CoreDao<TeamCapt>{

//	@PersistenceContext
//	public void setManager(EntityManager em) {
//		this.setEntityManager(em);
//	}
//
//	private final Class<TCaptain> persistentClass = TCaptain.class;
//	private static final Log log = LogFactory.getLog(CaptainDao.class);
//	
//	@Override
//	public TCaptain insert(TCaptain transientInstance) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public TCaptain update(TCaptain detachedInstance) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public Boolean remove(TCaptain persistentInstance) {
//		log.debug("deleting " + this.persistentClass.getName() + " instance");
//		try {
//			TCaptain result = getJpaTemplate().merge(persistentInstance);
//			getJpaTemplate().remove(result);
//			log.debug("delete successful");
//			return true;
//		} catch (RuntimeException re) {
//			log.error("delete failed", re);
//			throw re;
//		}
//	}
//
//	@Override
//	public Boolean removeList(List<TCaptain> list) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public TCaptain findById(Integer id) {
//		log.debug("getting " + this.persistentClass.getName()
//				+ " instance with id: " + id.toString());
//		try {
//			TCaptain instance = getJpaTemplate().find(this.persistentClass, id);
//			return instance;
//		} catch (RuntimeException re) {
//			log.error("find " + this.persistentClass.getName()
//					+ " by id failed", re);
//			throw re;
//		}
//	}
//
//	@Override
//	public List<TCaptain> findByProperty(String propertyName, Object value,
//			int... rowStartIdxAndCount) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public List<TCaptain> findAll(int... rowStartIdxAndCount) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public List<TCaptain> findLikeProperty(String propertyName, Object value,
//			int... rowStartIdxAndCount) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public List<TCaptain> findLikeMapOfProperties(
//			Map<String, Object> propertiesMap, int... rowStartIdxAndCount) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public List<TCaptain> findByMapOfProperties(
//			Map<String, Object> propertiesMap, int... rowStartIdxAndCount) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public Integer countAll() {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public Integer countLikeProperty(String propertyName, Object value) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public Integer countByProperty(String propertyName, Object value) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public Integer countLikeMapOfProperties(Map<String, Object> propertiesMap) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public Integer countByMapOfProperties(Map<String, Object> propertiesMap) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public PaginatedResult<TCaptain> paginateLikeMapOfProperties(
//			Map<String, Object> propertiesMap, int... rowStartIdxAndCount) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public PaginatedResult<TCaptain> paginateAll(int... rowStartIdxAndCount) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public PaginatedResult<TCaptain> paginateByMapOfProperties(
//			Map<String, Object> propertiesMap, int... rowStartIdxAndCount) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public List<TCaptain> findByExample(TCaptain instance,
//			int... rowStartIdxAndCount) {
//		// TODO Auto-generated method stub
//		return null;
//	}

}
